Traffic light detection may assist a vehicle mounted navigation system to improve its accuracy. In an existing method, traffic lights are detected based on color. In such a method, a color image is captured by a vehicle mounted camera. Then candidate regions may be identified by color segmentation and blob analysis. Thereafter, the candidate regions in the color image are respectively compared with a red traffic light model and/or a green traffic light model to determine whether there is a traffic light in the color image. However, green traffic light detection based on color is not so reliable because the color of a green traffic light in an image captured by a camera can be affected by other factors easily, such as ambient light etc. Therefore, a robust method for detecting traffic lights is desired. A robust method for detecting red traffic light is also needed.